Electronic device mode detection

ABSTRACT

In embodiments of electronic device mode detection, a mode detection application, implemented on an electronic device, correlates an identifier of a wireless device and an activity of the electronic device based at least in part on multiple instances of detecting the identifier of the wireless device during the activity of the electronic device. In some embodiments, the mode detection application correlates the identifier of the wireless device and the activity of the electronic device based at least in part on the identifier of the wireless device not being detected during one or more different activities of the electronic device. After correlating the identifier of the wireless device and the activity of the electronic device, the mode detection application configures the electronic device to automatically switch to a mode associated with the activity responsive to detecting the identifier of the wireless device.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation application of U.S. Non-Provisionalapplication Ser. No. 13/802,122, entitled “Electronic Device ModeDetection,” filed 13 Mar. 2013. The entire contents and substance ofwhich are incorporated by reference as if fully set forth below.

BACKGROUND

A computing device may be able to determine whether a user of thecomputing device is performing certain activities, such as running orwalking, based on signals received from sensors coupled to the computingdevice. The signals received from sensors are not always reliable,however, and can cause a computing device to incorrectly determine thatthe user is performing an activity. For example, signals received fromthe sensors may indicate that the user is running, when the user isactually in a business meeting.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of electronic device mode detection are described withreference to the following Figures. The same numbers may be usedthroughout to reference like features and components that are shown inthe Figures:

FIG. 1 illustrates an example system in which embodiments of electronicdevice mode detection can be implemented.

FIGS. 2A-2G illustrate examples of a database that associates wirelessdevices with activities of an electronic device in accordance with oneor more embodiments of electronic device mode detection.

FIG. 3 illustrates example method(s) of electronic device mode detectionin accordance with one or more embodiments.

FIG. 4 illustrates additional example method(s) of electronic devicemode detection in accordance with one or more embodiments.

FIG. 5 illustrates additional example method(s) of electronic devicemode detection in accordance with one or more embodiments.

FIG. 6 illustrates various components of an example computer device thatcan implement embodiments of electronic device mode detection.

DETAILED DESCRIPTION

In embodiments of electronic device mode detection, a mode detectionapplication, implemented on an electronic device, correlates anidentifier of a wireless device and an activity of the electronic devicebased at least in part on multiple instances of detecting the identifierof the wireless device during the activity of the electronic device. Theelectronic device can determine the activity of the electronic devicebased on sensor data, such as acceleration data or global positioningsystem (GPS) data, corresponding to the activity of the electronicdevice. In some embodiments, the mode detection application correlatesthe identifier of the wireless device and the activity of the electronicdevice based at least in part on the identifier of the wireless devicenot being detected during one or more different activities of theelectronic device. After correlating the identifier of the wirelessdevice and the activity of the electronic device, the mode detectionapplication configures the electronic device to automatically switch toa mode associated with the activity responsive to detecting theidentifier of the wireless device.

In other embodiments of electronic device mode detection, a mobiledevice detects a media access control device (MAC) address of aBluetooth™ device. A mode detection application, implemented on themobile device, determines whether the MAC address of the Bluetoothdevice is correlated with a driving mode. If the MAC address of theBluetooth device is correlated with the driving mode, the mode detectionapplication causes the mobile device to switch to the driving modewithout regard to pairing with the Bluetooth device.

While features and concepts of electronic device mode detection can beimplemented in any number of different devices, systems, and/orconfigurations, embodiments of electronic device mode detection aredescribed in the context of the following example devices, systems, andmethods.

FIG. 1 is an illustration of an example environment 100 in whichelectronic device mode detection can be implemented. Environment 100includes an electronic device 102, which is illustrated with variousnon-limiting example devices: mobile device 102-1, laptop 102-2, andtablet 102-3. Device 102 includes processor(s) 104 and computer-readablemedia 106, which includes memory media 108 and storage media 110. It isto be appreciated that electronic device 102 may also be implemented asan entertainment device, a gaming device, a navigation device, and/orother type of electronic device. Applications and/or an operating system(not shown) embodied as computer-readable instructions oncomputer-readable media 106 can be executed by processor(s) 104 toprovide some or all of the functionalities described herein.Computer-readable media 106 also includes mode detection application112, which will be described in more detail below. Electronic device 102can also be implemented with any number and combination of differingcomponents as further described with reference to the example deviceshown in FIG. 6.

Electronic device 102 may also include wireless interface(s) 114 forcommunicating data over wireless or optical networks. By way of exampleand not limitation, wireless interfaces 114 may communicate data overlocal-area-networks (LAN), wireless local-area-networks (WLAN),personal-area-networks (PAN), wide-area-networks (WAN), an intranet, theInternet, peer-to-peer networks, point-to-point networks, mesh networks,and the like.

Wireless interface 114 may also communicate data with wireless device(s)116 located near electronic device 102. Wireless device(s) 116 mayinclude a wireless transmitter 118 that is configured to transmit asignal that includes an identifier 120 of the wireless device that isdetectable by wireless interface 114. In some embodiments, wirelessdevice 116 can be implemented as a Bluetooth device, such as a Bluetoothheadset 116-1, Bluetooth headphones 116-2, or Bluetooth car system116-3, to name just a few. Bluetooth is a wireless technology standardfor exchanging data over short distances between Bluetooth enableddevices. Each Bluetooth device has a unique identifier that isdiscoverable by scanning for Bluetooth devices. In accordance withvarious embodiments, when wireless device 116 is implemented as aBluetooth device, identifier 120 may be a media access control (MAC)address of the Bluetooth device. While wireless device 116 will bedescribed herein primarily as a Bluetooth device, it is to be noted thatwireless device 116 may also be implemented as a WiFi™ device, such as aWiFi hotspot in a car, or as any other type of discoverable wirelessdevice.

Environment 100 may also include one or more sensors 122 that areconfigured to receive sensor data corresponding to an activity ofelectronic device 102. Sensors 122 can be implemented as anaccelerometer sensor configured to receive accelerometer data, a globalpositioning system (GPS) sensor configured to receive GPS data, or anyother type of sensor configured to receive sensor data that correspondsto an activity of electronic device 102. As described herein, activitiesof the electronic device can correspond to activities of a user ofelectronic device 102, such as the user driving in a car, running,walking, or sleeping.

Sensors 122 can determine activities of electronic device 102 in avariety of different ways. An accelerometer sensor, for example, candetermine that the user is driving in car, running, or walking bysensing motion patterns of electronic device 102 that correspond tothese activities. For instance, when the user is running with electronicdevice 102, the motion pattern of the electronic device may move down,forward, and then up in a triangular pattern. Similarly, when a user isdriving with electronic device 102, the motion pattern of the electronicdevice may be a constant forward motion that also goes up and down. Theaccelerometer sensor is configured to sense motion patterns anddetermine an activity of electronic device 102 based on the sensedmotion patterns. Additionally, a GPS sensor can determine speed and/oracceleration of the electronic device by determining changes in alocation of the electronic device over time. In some cases, an activityof the electronic device can be determined using both accelerometer dataand GPS data. For example, a triangular motion pattern sensed by theaccelerometer sensor can be determined to correspond to driving, insteadof running, if GPS data indicates a speed of 50 mph.

Mode detection application 112 can cause electronic device 102 toautomatically switch to a mode associated with a detected activity toenable the user to more effectively use the electronic device whenperforming the activity. As discussed in more detail below, modesassociated with the activity of the electronic device can include, byway of example and not limitation, a driving mode, a running mode, awalking mode, and a sleeping mode.

Unfortunately, detection of activities of electronic device 102 bysensors 122 can be inconsistent and unreliable. Acceleration sensors,for example, may detect that a user is driving, when in fact the user isactually in a meeting. The triangular pattern of acceleration data thatindicates the electronic device moving forward, then down, then up canbe detected by sensors 122 if the user moves the electronic device inthis pattern. It is to be appreciated that if the mobile device switchesto a driving mode when the user is not driving that this could beannoying and inconvenient for the user. For example, it would beannoying to the user to have the user's mobile device switch into thedriving mode and announce the name of incoming callers if the user isactually in a meeting. As another example, accelerometer sensors maydetermine that the user is not driving, causing the user's mobile deviceto switch out of the driving mode, when the user is stopped at a redlight or stuck in traffic. GPS sensors can also be unreliable in areaswhere a weak GPS signal is detected. For example, GPS sensors maydetermine that a user is moving at a speed of 50 mph, when in fact theuser is walking along a window of a tall building which may cause theGPS signal to be weak.

In accordance with various embodiments, mode detection application 112is configured to correlate identifier 120 of wireless device 116 with anactivity of electronic device 102 based at least in part on multipleinstances of detecting identifier 120 of wireless device 116 during theactivity of electronic device 102. To correlate an identifier of awireless device with an activity, electronic device 102 controlswireless interface 114 to scan for and detect identifiers of wirelessdevices responsive to receiving sensor data from sensors 122 thatindicate that the activity is occurring. Then, over a period of time,mode detection application 112 is able to determine identifiers 120 ofwireless devices 116 that are consistently detected during certainactivities. For example, if a user drives a car with a Bluetooth carsystem, such as Bluetooth car system 116-3, mode detection application112 can determine, over a period of time, that when a driving activityis occurring, an identifier of the Bluetooth car system is oftendetected. Once an identifier 120 of a wireless device 116 isconsistently detected during an activity, mode detection application 112correlates the identifier of the wireless device with the activity.

In various embodiments, each time that identifier 120 of wireless device116 is detected during an activity, mode detection application 112updates a detection count associated with the identifier of the wirelessdevice and the activity of the electronic device in a database 124. Thedetection count, therefore, indicates the total number of times, orinstances, that the identifier of the wireless device has been detectedduring the activity. Database 124 is configured to store associationsbetween identifiers 120 of wireless devices 116 and activities ofelectronic device 102. Database 124 can be located at electronic device102, or can be located at a remote server or computing device,accessible by electronic device 102 over a mobile network or a wirelessnetwork via wireless interface 114.

FIGS. 2a-2g illustrate examples of database 124 that associatesidentifiers 120 of wireless devices 116 with activities of electronicdevice 102, in accordance with some embodiments. In these examples,database 124 includes a device identifier field 202, an activity field204, a detection count field 206, and a correlation field 208. It is tobe appreciated, however, that this is a non-limiting example of database124, and that database 124 can include any type of data fields thatassociate identifiers 120 of wireless devices 116 and activities.

Mode detection application 112 can be implemented to create a new entryin database 124 for an identifier of a wireless device the first timethat mode detection application 112 detects the identifier during theactivity. In FIG. 2a , for example, mode detection application 112creates a new entry corresponding to a detected Bluetooth headset, suchas Bluetooth headset 116-1, the first time that the Bluetooth headset isdetected during an activity. Consider, for example, that sensor 122receives sensor data that corresponds to driving in a car. In response,mode detection application 112 controls wireless interface 114 to scanfor identifiers 120 of wireless devices 116. In this example, wirelessinterface 114 detects an identifier of the Bluetooth headset. If this isthe first time that the identifier of the Bluetooth headset is detected,mode detection application 112 creates a new entry for the Bluetoothheadset by storing an identifier of the Bluetooth headset in deviceidentifier field 202. Mode detection application 112 is configured tostore any type of identifier of a wireless device in database 124,including a name of the identifier, or a MAC address of the wirelessdevice, to name just a few.

After creating the new entry in database 124, mode detection application112 associates the identifier of the wireless device with the activity.In some embodiments, mode detection application 112 associates theidentifier of the wireless device with the activity by updatingdetection count field 206. For example, as illustrated in FIG. 2b ,after creating the new entry for the Bluetooth headset in database 124,mode detection application updates detection count field 206 associatedwith the driving activity to “1” to indicate the detection of theBluetooth headset during the driving activity.

In some embodiments, mode detection application 112 is configured tocorrelate an identifier of a wireless device and an activity when thedetection count associated with the identifier of the wireless deviceand the activity is greater than, or equal to, a predeterminedthreshold. In FIG. 2c , for example, consider that the predeterminedthreshold is 10 previous detections. In this example, detection countfield 206 of database 124 indicates that the Bluetooth headset has beendetected during the driving activity 9 times, but is not yet correlatedwith the driving activity. Therefore, the next time that wirelessinterface 114 detects the identifier of the Bluetooth headset during thedriving activity, mode detection application 112 updates detection countfield 206 associated with the Bluetooth headset and driving to “10”, asillustrated in FIG. 2d . In addition, because the detection count is nowequal to the predetermined threshold, mode detection application 112updates correlation field 208 associated with driving to “yes”, asillustrated in FIG. 2d . It is to be appreciated that the predeterminedthreshold of detections can be set to any number. In some embodiments,for example, mode detection application 112 correlates a wireless deviceand an activity if the identifier of the wireless device is detectedduring the activity two or more times. Alternately, the predeterminedthreshold may correspond to a frequency of detections over apredetermined period of time. For example, mode detection application112 can be configured to correlate an identifier with an activity if theidentifier is detected during the activity 10 times over a period of oneweek, but not if it is detected 10 times over a period of 1 year.

In some embodiments, mode detection application 112 is configured tocorrelate an identifier of a wireless device with an activity if theidentifier of the wireless device is not detected during one or moredifferent activities of the electronic device. In other words, modedetection application 112 does not correlate an identifier and anactivity if the identifier has also been previously detected during oneor more other activities. It is to be appreciated, that if theidentifier has been detected during two or more different activities,that that mode detection application 112 cannot rely on detection of theidentifier as an indicator of a single activity.

In FIG. 2e , for example, consider that the predetermined threshold isagain 10 previous detections. In this example, activity field 204 ofdatabase 124 indicates that the identifier of the Bluetooth headset hasbeen detected during the driving activity 9 different times, but is notcorrelated with the driving activity. In this case, however, detectioncount 206 of database 124 indicates that the Bluetooth headset has alsobeen detected during a running activity 2 different times. In this case,because the identifier of the Bluetooth headset has been detected duringboth driving activities and running activities, the detection of theidentifier of the Bluetooth headset, by itself, does not enable modedetection application 112 to determine that the user is either drivingor running. Thus, as illustrated in FIG. 2f , when wireless interface114 again detects the identifier of the Bluetooth headset during thedriving activity, mode detection application 112 updates detection countfield 206 associated with the Bluetooth headset and driving to “10”previous detections. Mode detection application 112 does not, however,change correlations field 208 associated with the Bluetooth headset anddriving to “yes”, even though the number of previous detections is equalto the predetermined threshold, because the Bluetooth headset has alsobeen detected during the running activity.

In some embodiments, mode detection application 112 is configured toremove a correlation of an identifier of a wireless device and anactivity if the identifier is detected during a different activity. InFIG. 2d , for example, mode detection application 112 can remove thecorrelation between the Bluetooth headset and driving by changingverification field 208 associated with driving to “no” if the identifierof the Bluetooth headset is detected during a different activity, suchas running. Alternately, mode detection application 112 can remove thecorrelation between the Bluetooth headset and driving by deleting thedata corresponding to the Bluetooth headset in database 124 if theidentifier of the Bluetooth headset is detected during a differentactivity, such as running.

FIG. 2g illustrates an example database 124 that includes entries for aBluetooth Headset, Bluetooth headphones, a first Bluetooth car system,and a second Bluetooth car system. In this example, the Bluetoothheadset is not correlated with any activities because an identifier ofthe Bluetooth headset has been detected during both driving activitiesand running activities. In contrast, the Bluetooth headphones arecorrelated with running, in this example, because an identifier of theBluetooth headphones has been detected during the running activity 25times, and has not been detected during any other activities. Similarly,the first Bluetooth car system is correlated with driving because anidentifier of the Bluetooth car system has been detected during thedriving activity 75 times, and has not been detected during any otheractivities. In contrast, the second Bluetooth car system is notcorrelated with driving because an identifier of the second Bluetoothcar system has only been detected 2 times during the driving activity.Consider, for example, that the first Bluetooth car system maycorrespond to the user's car, whereas the second Bluetooth car systemcould correspond to a car of the user's friend that the user rides inless frequently. In some embodiments, mode detection application 112 isconfigured to correlate a single wireless device 116 with each activity.In FIG. 2g , for example, even if there were 25 detections of the secondBluetooth headset during the driving activity, mode detectionapplication 112 can be implemented to correlate only the first Bluetoothheadset with driving because this association has been detected moretimes.

In some embodiments, mode detection application 112 is configured toinitiate display of contents of database 124 on a screen of electronicdevice 102 to enable the user to correlate, or un-correlate, anidentifier 120 of a wireless device 116 and an activity. For example,mode detection application 112 may automatically remove a correlationbetween a wireless device and an activity if an identifier of thewireless device is detected during a different activity. Mode detectionapplication 112, however, can enable the user to override the removal ofthe correlation by selecting a control to correlate the wireless deviceand the activity.

After correlating an identifier of a wireless device with an activity,mode detection application 112 configures electronic device 102 toautomatically switch to a mode associated with the activity responsiveto detecting the identifier of the wireless device at a subsequent time.In FIG. 2d , for example, mode detection application 112 causeselectronic device 102 to automatically switch to the driving mode whenthe identifier of the Bluetooth device is detected based on thecorrelation of the identifier of the Bluetooth device and driving incorrelation field 208 of database 124. It is to be appreciated that thedetection of an identifier of a wireless device to determine that anactivity is occurring is more reliable than detecting an activity basedon accelerometer data received from an accelerometer sensor, or GPS datareceived from a GPS sensor. Thus, once an identifier of a wirelessdevice and an activity are correlated, mode detection application 112can accurately determine when to cause electronic device 102 to switchto a mode associated with the activity based on detection of theidentifier.

Modes associated with activities of electronic device 102, can include,by way of example and not limitation, a driving mode, a running mode, awalking mode, and a sleeping mode. A driving mode of electronic device102 activates features that enable the user to interact with theelectronic device when driving or riding in a car. For example, a mobiledevice, when in the driving mode, can be controlled to announce a nameof a caller, or to receive voice commands from the user to control themobile device. In some embodiments, the driving mode may causeelectronic device 102 to notify other devices that the user is driving.For example, electronic device 102 may determine that the user isdriving home from work, and responsively send a notification to aheating system located at the user's house that causes the heatingsystem to switch from an economy setting to a comfort setting. In someembodiments, electronic device 102 can automatically update a status ofthe user on one or more social media sites to indicate that the user iscurrently driving, sleeping, or going for a run. As another example, arunning mode may enable a user to control electronic device 102 whenrunning, such as by enabling the user to select and play songs onelectronic device 102 using voice commands.

It is to be noted that mode detection application 112 can detectidentifier 120 of wireless device 116 and cause electronic device 102 toautomatically switch to a mode associated with a corresponding activity,without regard to connecting to, or pairing with, the wireless device.Consider, for example, a car equipped with a Bluetooth car system, suchas Bluetooth car system 116-3, that enables a user to pair the user'smobile device to the Bluetooth car system to place and receive callsthrough the Bluetooth car system. A user of the car, however, may preferto not connect the user's mobile device to Bluetooth car system 116-3when driving. Nevertheless, each time the user is in the user's car,mode detection application 112 executing on the user's mobile device isable to detect a wireless signal from the Bluetooth car system thatincludes an identifier 120 of the Bluetooth car system. Therefore,detection of the identifier of Bluetooth car system causes modedetection application 112 to switch the user's mobile device to thedriving mode even though the user does not pair the mobile device to theBluetooth car system.

EXAMPLE METHODS

Example methods 300, 400, and 500 are described with reference to FIG. 1in accordance with one or more embodiments of electronic device modedetection. Generally, any of the methods, components, and modulesdescribed herein can be implemented using software, firmware, hardware(e.g., fixed logic circuitry), manual processing, or any combinationthereof. A software implementation represents program code that performsspecified tasks when executed by a computer processor, and the programcode can be stored in computer-readable storage media devices.

FIG. 3 illustrates example method(s) 300 of electronic device modedetection. The order in which the method blocks are described are notintended to be construed as a limitation, and any number or combinationof the described method blocks can be combined in any order to implementa method, or an alternate method.

Block 302 correlates an identifier of a wireless device and an activityof an electronic device. For example, mode detection application 112(FIG. 1) correlates identifier 120 of wireless device 116 with anactivity of electronic device 102 based at least in part on multipleinstances of detecting the identifier of the wireless device during theactivity of the electronic device. In some embodiments, mode detectionapplication 112 is further configured to correlate identifier 120 ofwireless device 116 with the activity of electronic device 102 based onthe identifier not being detected during one or more differentactivities of the electronic device. An activity of electronic device102 can include, by way of example and not limitation, driving, running,or walking. The activity can be determined by mode detection application112 based on sensor data, received from sensors 122, that corresponds tothe activity. In some embodiments, wireless device 116 is a Bluetoothdevice, such as Bluetooth headset 116-1, Bluetooth headphones 116-2, orBluetooth car system 116-3, and the identifier is a MAC address of theBluetooth device.

Block 304 detects the identifier of the wireless device aftercorrelating the identifier of the wireless device and the activity ofthe electronic device. For example, wireless interface 114 detectsidentifier 120 of wireless device 116 after mode detection application112 correlates the identifier of the wireless device and the activity ofthe electronic device.

Block 306 causes the electronic device to automatically switch to a modeassociated with the activity. For example, mode detection application112 causes electronic device 102 to automatically switch to a modeassociated with the activity. Modes associated with an activity caninclude, by way of example and not limitation, a driving mode, a runningmode, a walking mode, or a sleeping mode.

FIG. 4 illustrates additional example method(s) 400 of electronic devicemode detection. In particular, FIG. 4 illustrates a more-detailed methodof correlating an identifier of a wireless device and an activity of anelectronic device, as illustrated in block 302 of FIG. 3. The order inwhich the method blocks are described are not intended to be construedas a limitation, and any number or combination of the described methodblocks can be combined in any order to implement a method, or analternate method.

Block 402 detects an identifier of a wireless device during an activityof an electronic device. For example, wireless interface 114 (FIG. 1)detects identifier 120 of wireless device 116 during an activity ofelectronic device 102.

Block 404 associates the identifier of the wireless device and theactivity of the electronic device. For example, as illustrated in FIGS.2a-2g , the first time that identifier 120 of wireless device 116 isdetected during the activity, mode detection application 112 associatesidentifier 120 of wireless device 116 and the activity of electronicdevice 102 in database 124.

Block 406 detects, at a subsequent time, the identifier of the wirelessdevice during the activity of the electronic device, and block 408updates a detection count associated with the identifier of the wirelessdevice and the activity of the electronic device. For example, wirelessinterface 114 detects, at a subsequent time, identifier 120 of wirelessdevice 116 during the activity of electronic device 102. When theidentifier of the wireless device is subsequently detected, modedetection application 112 updates the detection count associated withidentifier 120 of wireless device 116 and the activity in database 124.The detection count, therefore, indicates the total number of times, orinstances, that the identifier of the wireless device has been detectedduring the activity.

Block 410 determines whether the detection count is equal to apredetermined threshold. For example, mode detection application 112determines whether the detection count associated with identifier 120 ofwireless device 116 and the activity of electronic device 102 indatabase 124 is equal to a predetermined threshold. If the detectioncount is not equal to the predetermined threshold, mode detectionapplication 112 continues to update the detection count each time thatthe identifier of the wireless device is detected.

Block 412 determines whether the identifier of the wireless device hasbeen detected during one or more different activities. For example, modedetection application 112 determines whether identifier 120 of wirelessdevice 116 has been detected during one or more different activities ofelectronic device 102. In some embodiments, if the identifier of thewireless device has been detected during one or more differentactivities, then mode detection application 112 does not correlate theidentifier of the wireless device with either of the two or moreactivities.

Block 414 correlates the identifier of the wireless device and theactivity of the electronic device. For example, mode detectionapplication 112 correlates identifier 120 of wireless device 116 and theactivity of electronic device 102 in database 124. In some embodiments,mode detection application 112 correlates identifier 120 of wirelessdevice 116 and the activity of electronic device 102 in database 124 ifthe detection count is equal to the predetermined threshold. In someembodiments, mode detection application 112 correlates identifier 120 ofwireless device 116 and the activity of electronic device 102 indatabase 124 if the identifier of the wireless device has not beendetected during one or more different activities. In some embodiments,mode detection application 112 correlates identifier 120 of wirelessdevice 116 and the activity of electronic device 102 in database 124 ifthe detection count is equal to the predetermined threshold and if theidentifier of the wireless device has not been detected during one ormore different activities.

FIG. 5 illustrates additional example method(s) 500 of electronic devicemode detection. The order in which the method blocks are described arenot intended to be construed as a limitation, and any number orcombination of the described method blocks can be combined in any orderto implement a method, or an alternate method.

Block 502 detects, at a mobile device, a MAC address of a Bluetoothdevice. For example, wireless interface 114 (FIG. 1) of mobile device102-1 detects a MAC address of a Bluetooth device, such as Bluetoothheadset 116-1, Bluetooth headphones 116-2, or Bluetooth car system116-3.

Block 504 determines that the MAC address of the Bluetooth device isassociated with a driving mode in a database. For example, modedetection application 112 determines that the MAC address of theBluetooth device is associated with a driving mode in database 124.

Block 506 causes the mobile device to switch to the driving mode withoutregard to pairing with the Bluetooth device. For example, mode detectionapplication 112 causes mobile device 102-1 to switch to the driving modewithout regard to pairing with the Bluetooth device. In variousembodiments, the driving mode causes the mobile device to announceincoming callers via a speaker of the mobile device, update a statusassociated with the user of the mobile device, and/or enable the mobiledevice to receive voice commands from a user of the mobile device.

FIG. 6 illustrates various components of an example computer device 500that can be implemented as any device described with reference to any ofthe previous FIGS. 1-5, such as electronic device 102 or wireless device116. The computer device may be implemented as any one or combination ofa fixed or mobile device, in any form of a consumer, computer, portable,user, communication, phone, navigation, gaming, media playback, and/orcomputer device.

The computer device 600 includes communication transceivers 602 thatenable wired and/or wireless communication of device data 604, such asreceived data, data that is being received, data scheduled forbroadcast, data packets of the data, etc. Example communicationtransceivers 602 include wireless personal area network (WPAN) radioscompliant with various IEEE 802.15 (also referred to as Bluetooth™)standards, wireless local area network (WLAN) radios compliant with anyof the various IEEE 802.11 (also referred to as WiFi™) standards,wireless wide area network (WWAN) radios for cellular telephony,wireless metropolitan area network (WMAN) radios compliant with variousIEEE 802.15 (also referred to as WiMAX™) standards, and wired local areanetwork (LAN) Ethernet transceivers.

The computer device 600 may also include one or more data input ports606 via which any type of data, media content, and/or inputs can bereceived, such as user-selectable inputs, messages, music, televisioncontent, recorded video content, and any other type of audio, video,and/or image data received from any content and/or data source. The datainput ports may include USB ports, coaxial cable ports, and other serialor parallel connectors (including internal connectors) for flash memory,DVDs, CDs, and the like. These data input ports may be used to couplethe computer device to components, peripherals, or accessories such asmicrophones or cameras. Additionally, the computer device 600 mayinclude media capture components 608, such as an integrated microphoneto capture audio and a camera to capture still images and/or video mediacontent.

The computer device 600 includes one or more processors 610 (e.g., anyof microprocessors, controllers, and the like), which processcomputer-executable instructions to control operation of the device.Alternatively or in addition, the computer device can be implementedwith any one or combination of software, hardware, firmware, or fixedlogic circuitry that is implemented in connection with processing andcontrol circuits, which are generally identified at 612. Although notshown, the computer device can include a system bus or data transfersystem that couples the various components within the device. A systembus can include any one or combination of different bus structures, suchas a memory bus or memory controller, a peripheral bus, a universalserial bus, and/or a processor or local bus that utilizes any of avariety of bus architectures.

The computer device 600 also includes one or more memory devices 614that enable data storage, examples of which include random access memory(RAM), non-volatile memory (e.g., read-only memory (ROM), flash memory,EPROM, EEPROM, etc.), and a disk storage device. A disk storage devicemay be implemented as any type of magnetic or optical storage device,such as a hard disk drive, a recordable and/or rewriteable disc, anytype of a digital versatile disc (DVD), and the like. The computerdevice 600 may also include a mass storage media device.

A memory device 614 provides data storage mechanisms to store the devicedata 604, other types of information and/or data, and various deviceapplications 616 (e.g., software applications). For example, anoperating system 618 can be maintained as software instructions within amemory device and executed on the processors 610. The deviceapplications may also include a device manager, such as any form of acontrol application, software application, signal-processing and controlmodule, code that is native to a particular device, a hardwareabstraction layer for a particular device, and so on. In embodiments,the computer device also includes mode detection application 620. Modedetection application 620 is an example of the mode detectionapplication 112 at the electronic device 102 shown in FIG. 1.

The computer device 600 also includes an audio and/or video processingsystem 622 that generates audio data for an audio system 624 and/orgenerates display data for a display system 626. The audio system and/orthe display system may include any devices that process, display, and/orotherwise render audio, video, display, and/or image data. Display dataand audio signals can be communicated to an audio component and/or to adisplay component via an RF (radio frequency) link, S-video link, HDMI(high-definition multimedia interface), composite video link, componentvideo link, DVI (digital video interface), analog audio connection, orother similar communication link, such as media data port 628.Additionally, the audio system and/or the display system may be externalcomponents to the computer device, or alternatively, are integratedcomponents of the example computer device.

Although embodiments of electronic device mode detection have beendescribed in language specific to features and/or methods, the subjectof the appended claims is not necessarily limited to the specificfeatures or methods described. Rather, the specific features and methodsare disclosed as example implementations of electronic device modedetection.

The invention claimed is:
 1. A method, comprising: detecting, at a firsttime, by an electronic device, and during detection of walking activityby the electronic device, an identifier of a wireless device;associating, in a database, the identifier of the wireless device and anindicator of walking activity; detecting, at a second time, by theelectronic device, and during detection of walking activity by theelectronic device, the identifier of the wireless device, wherein thesecond time occurs after the first time; updating, in the database,based on detecting the identifier of the wireless device at the secondtime, a detection count associated with the identifier of the wirelessdevice and the indicator of walking activity; responsive to determiningthat the detection count equals a predetermined threshold, updating, inthe database, a correlation field to indicate a correlation between theidentifier of the wireless device and the indicator of walking activity;and responsive to detecting, at a third time and during detection ofwalking activity by the electronic device, the identifier of thewireless device, automatically switching, by the electronic device, toan operating mode associated with the indicator of walking activity,wherein the third time occurs after correlating the identifier of thewireless device and the indicator of walking activity.
 2. The method ofclaim 1 further comprising: detecting, by the electronic device, andduring detection by the electronic device of an activity other thanwalking activity, the identifier of the wireless device; and updating,in the database, the correlation field to remove the correlation betweenthe identifier of the wireless device and the indicator of walkingactivity.
 3. The method of claim 1, wherein the electronic devicedetects walking activity based on sensor data corresponding to walkingactivity.
 4. The method of claim 3, wherein the sensor data comprises atleast one of: accelerometer data received from an accelerometer sensorof the electronic device, and global positioning system (GPS) datareceived from a GPS sensor of the electronic device.
 5. The method ofclaim 1, wherein the electronic device automatically switches to theoperating mode associated with the indicator of walking activity withoutconnecting the electronic device to the wireless device.
 6. The methodof claim 1, wherein the wireless device is a personal area networkdevice, and wherein the identifier is a personal area network devicemedia access control address of the personal area network device.
 7. Themethod of claim 6, wherein the personal area network device is apersonal area network headset or personal area network headphones. 8.The method of claim 1, wherein correlating the identifier of thewireless device and the indicator of walking activity is further basedat least in part on the electronic device not detecting the identifierof the wireless device during detection by the electronic device of oneor more activities other than walking activity.
 9. A method, comprising:detecting, at a first time, by an electronic device, and duringdetection of running activity by the electronic device, an identifier ofa wireless device; associating, in a database, the identifier of thewireless device and an indicator of running activity; detecting, at asecond time, by the electronic device, and during detection of runningactivity by the electronic device, the identifier of the wirelessdevice, wherein the second time occurs after the first time; updating,in the database, based on detecting the identifier of the wirelessdevice at the second time, a detection count associated with theidentifier of the wireless device and the indicator of running activity;responsive to determining that the detection count equals apredetermined threshold, updating, in the database, a correlation fieldto indicate a correlation between the identifier of the wireless deviceand the indicator of running activity; and responsive to detecting, at athird time and during detection of running activity by the electronicdevice, the identifier of the wireless device, automatically switching,by the electronic device, to an operating mode associated with theindicator of running activity, wherein the third time occurs aftercorrelating the identifier of the wireless device and the indicator ofwalking activity.
 10. The method of claim 9 further comprising:detecting, by the electronic device, and during detection by theelectronic device of an activity other than running activity, theidentifier of the wireless device; and updating, in the database, thecorrelation field to remove the correlation between the identifier ofthe wireless device and the indicator of running activity.
 11. Themethod of claim 9, wherein the electronic device detects runningactivity based on sensor data corresponding to running activity.
 12. Themethod of claim 11, wherein the sensor data comprises at least one of:accelerometer data received from an accelerometer sensor of theelectronic device, and global positioning system (GPS) data receivedfrom a GPS sensor of the electronic device.
 13. The method of claim 9,wherein the electronic device automatically switches to the operatingmode associated with the indicator of running activity withoutconnecting the electronic device to the wireless device.
 14. The methodof claim 9, wherein the wireless device is a personal area networkdevice, and wherein the identifier is a personal area network devicemedia access control address of the personal area network device. 15.The method of claim 14, wherein the personal area network device is apersonal area network headset or personal area network headphones. 16.The method of claim 9, wherein correlating the identifier of thewireless device and the indicator of running activity is further basedat least in part on the electronic device not detecting the identifierof the wireless device during detection by the electronic device of oneor more activities other than running activity.
 17. A method comprising:detecting, at a first time, by a mobile device, and during detection ofrunning activity by the mobile device, an identifier of a personal areanetwork device; associating, in a database, the identifier of thepersonal area network device and an indicator of running activity;detecting, at a second time, by the mobile device, and during detectionof running activity by the mobile device, the identifier of the personalarea network device; updating, in the database, based on detecting theidentifier of the personal area network device at the second time, adetection count associated with the identifier of the personal areanetwork device and the indicator of running activity; responsive todetermining that the detection count equals a predetermined threshold,correlating, by the mobile device, the identifier of the personal areanetwork device with an operating mode associated with the indicator ofrunning activity; and responsive to detecting, at a third time, theidentifier of the personal area network device, automatically switching,without regard to pairing the mobile device with the personal areanetwork device, to the operating mode.
 18. The method of claim 17,wherein the operating mode associated with the indicator of runningactivity enables a user of the mobile device to select and/or play songson the mobile device using voice commands.
 19. The method of claim 17,wherein the identifier of the personal area network device is a mediaaccess control (MAC) address of the personal area network device.